<?xml version="1.0" encoding="utf-8" ?>
<form>
	<validations>
		<validation name="Mandatory" id="1" description="Validates for empty fields">
			<expression language="vbscript"><![CDATA[\S]]></expression>
			<expression language="c#"><![CDATA[\S]]></expression>
		</validation>
		<validation name="Numeric" id="2" description="Validates for numeric values">
			<expression language="vbscript"><![CDATA[^[\d]*$]]></expression>
			<expression language="c#"><![CDATA[^[\d]*$]]></expression>
		</validation>
		<validation name="AlphaNumeric" id="3" description="Validates for numeric values, alphabetic characters, underscore, period, hyphen, plus and spaces">
			<expression language="vbscript"><![CDATA[^[\w\s-\.+]*$]]></expression>
			<expression language="c#"><![CDATA[^[\w\s-\.+]*$]]></expression>
		</validation>
		<validation name="Email" id="4" description="Validates for valid email adresses">
			<expression language="vbscript"><![CDATA[^(\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,}))*$]]></expression>
			<expression language="c#"><![CDATA[^(\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,}))*$]]></expression>
		</validation>
		<validation name="Date" id="5" description="Validates for correct dates in the following format: dd.mm.yyyy">
			<expression language="vbscript"><![CDATA[^((((0[1-9]|[12]\d|3[01])(\.)?(0[13578]|1[02])(\.)?((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)(\.)?(0[13456789]|1[012])(\.)?((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])(\.)?02(\.)?((1[6-9]|[2-9]\d)\d{2}))|(29(\.)?02(\.)?((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))*$]]></expression>
			<expression language="c#"><![CDATA[^((((0[1-9]|[12]\d|3[01])(\.)?(0[13578]|1[02])(\.)?((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)(\.)?(0[13456789]|1[012])(\.)?((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])(\.)?02(\.)?((1[6-9]|[2-9]\d)\d{2}))|(29(\.)?02(\.)?((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))*$]]></expression>
		</validation>
	</validations>
	<elements>
		<element name="Label" tag="span" description="Used for static text. Use editor to format text.">
			<attributes>				
				<attribute name="Value" type="html" description="The text that will be displayed in the label. " />
				<attribute name="ID" type="textfield" description="ID of the label. Use this for scripting only." />
			</attributes>
			<attributes name="Layout">
				<attribute name="Class" type="textfield" description="Specify the CSS class name here." />
				<attribute name="Style" type="textfield" description="If not CSS class is specified, use style instead." />
			</attributes>			
		</element>
		<element name="Textfield" tag="input" type="text" description="Single line textfield.">
			<validations>
				<validation id="1" />
				<validation id="2" />
				<validation id="3" />
				<validation id="4" />
			</validations>
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the textfield. This is the name that is posted. Should not contain whitespaces, use underscore instead!" />
				<attribute name="Value" type="textfield" description="Use this to use initial value of the textfield." />
				<attribute name="Print" type="checkbox" description="Specify if the field should be printable." />
			</attributes>
			<attributes name="Layout">
				<attribute name="Class" type="textfield" description="Specify the CSS class name here." />
				<attribute name="Style" type="textfield" description="If not CSS class is specified, use style instead." />
				<attribute name="Maxlength" type="textfield" description="Maximum number of characters in field" />
				<attribute name="Size" type="textfield" description="The size of the field in characters" />
				<attribute name="Readonly" type="checkbox" description="Specifies whether the control may be modified by the user." />
				<attribute name="Disabled" type="checkbox" description="Specifies whether the control is disabled. Disabled values will not be submitted. " />
			</attributes>			
		</element>
		<element name="Textarea" tag="textarea" description="Multiline textarea. Use this for elements which requeries large input from the user">
			<validations>
				<validation id="1" />
				<validation id="2" />
				<validation id="3" />
				<validation id="4" />
			</validations>
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the textarea that will be posted. Should not contain whitespaces, use underscore instead" />
				<attribute name="Value" type="textarea" description="Use this to use initial value of the textarea." />
        <attribute name="Print" type="checkbox" description="Specify if the field should be printable." />
			</attributes>
			<attributes name="Layout">
				<attribute name="Class" type="textfield" description="Specify the CSS class name here." />
				<attribute name="Style" type="textfield" description="If not CSS class is specified, use style instead." />
				<attribute name="Cols" type="textfield" description="Specifies the visible width in average character widths" />
				<attribute name="Rows" type="textfield" description="Specifies the number of visible text lines" />
				<attribute name="Wrap" type="select" description="Type of wrapping in the textarea.">
					<option value=""></option>
					<option value="soft">soft</option>
					<option value="hard">hard</option>
					<option value="off">off</option>
				</attribute>
				<attribute name="Readonly" type="checkbox" description="Specifies whether the control may be modified by the user. " />
				<attribute name="Disabled" type="checkbox" description="Specifies whether the control is disabled. Disabled values will not be submitted. " />
			</attributes>			
		</element>
		<element name="Checkbox" tag="input" type="checkbox" description="Checkboxes are on/off switches that may be toggled by the user. Checkboxes should have unique names. Only checkboxes that are checked will have their value submitted with the form.">			
			<validations>
				<validation id="1" />
			</validations>
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of Checkbox" />
				<attribute name="Value" type="textfield" mandatory="true" description="The value that will be submitted if checkbox is checked" />
				<!--<attribute name="Checked" type="checkbox" description="Specifies whether the checkbox is default checked." />  Not supported!  -->
			</attributes>
			<attributes name="Layout">
				<attribute name="Class" type="textfield" description="Specify the CSS class name here." />
				<attribute name="Style" type="textfield" description="If not CSS class is specified, use style instead." />
				<attribute name="Disabled" type="checkbox" description="Specifies whether the control is disabled. Disabled values will not be submitted. " />
				<attribute name="isheart" type="checkbox" description="Specifies whether the control is disabled. Disabled values will not be submitted. " />
			</attributes>			
		</element>
		<element name="Radiobutton" tag="input" type="radio" description="Radiobuttons share the same controlname. To create a radiogroup, all the radiobuttons must have the same name, with different values. Only checked radiobuttons are submitted with the form.">
			<validations>
				<validation id="1" />
			</validations>
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of radiobutton. Use same names for groups of radiobuttons" />
				<attribute name="Value" type="textfield" mandatory="true" description="The value that will be submitted if radiobutton is checked" />
				<attribute name="Checked" type="checkbox" description="Specifies whether the radiobutton is default checked. Only one radiobutton can be checked in a radiogroup" />
			</attributes>
      <attributes name="Layout">
				<attribute name="Class" type="textfield" description="Specify the CSS class name here." />
				<attribute name="Style" type="textfield" description="If not CSS class is specified, use style instead." />
				<attribute name="Disabled" type="checkbox" description="Specifies whether the control is disabled. Disabled values will not be submitted. " />
			</attributes>     
    </element>
		<element name="Hidden" tag="input" type="hidden" description="Hidden values are not visible in form, but are submitted ">
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the hidden value. This is the name that is posted. Should not contain whitespaces, use underscore instead!" />
				<attribute name="Value" type="textfield" description="Initial value of the hidden element." />
			</attributes>
		</element>
		<element name="Select list" tag="select" description="List of options from which the user can choose. Specify either single- or multiple-choice elements.In the options field, specify the predefined options. Use a new line for each option. The format of the options should be [value]|[text]. If no delimiter is specified, the text and the value will be the same">
			<validations>
				<validation id="1" />
			</validations>
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the select list. This is the name that is posted. Should not contain whitespaces, use underscore instead!" />
				<attribute name="Multiple" type="checkbox" description="When checked, the user can select multiple items" />
			</attributes>
			<attributes name="Layout">
				<attribute name="Class" type="textfield" description="Specify the CSS class name here." />
				<attribute name="Style" type="textfield" description="If not CSS class is specified, use style instead." />
				<attribute name="Disabled" type="checkbox" description="Specifies whether the control is disabled. Disabled values will not be submitted. " />
			</attributes>			
		</element>		
		<element name="File" tag="input" type="file" description="File upload field. &lt;b&gt;NOTE! Field will only be usable on last page!&lt;/b&gt; Upload fields on other pages will be removed, when publishing in Tridion.">
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the uploadfield. This is the name that is posted. Should not contain whitespaces, use underscore instead!" />				
				<attribute name="accept" type="checkboxlist" description="Accepted files for upload" delimiter=",">
					<option value="text/plain">txt</option>					
					<option value="application/msword">Word</option>
					<option value="application/vnd.ms-excel">Excel</option>
					<option value="application/vnd.ms-powerpoint">Powerpoint</option>
					<option value="application/pdf">PDF</option>
					<option value="application/zip">ZIP</option>					
				</attribute>				
				<!--
				<attribute name="Filetypes" type="select" description="Allowed files for upload">
					<option value="ppt|doc|xls|pdf|txt|zip">Common filetypes (Office, pdf, zip, txt)</option>
					<option value="ppt|doc|xls|pdf">Office and PDF only</option>
				</attribute>
				-->
			</attributes>			
		</element>	
		<element name="Datefield" tag="input" type="text" description="Single line textfield that handles dates. Default validator is dd.mm.yyyy">
			<validations>				
				<validation id="5" default="true"/>
			</validations>
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the textfield. This is the name that is posted. Should not contain whitespaces, use underscore instead!" />
				<attribute name="Value" type="textfield" description="Use this to use initial value of the textfield." />
			</attributes>			
		</element>
		<element name="Employees" tag="select" isdynamic="true"  description="Generates a select list where the user can select a employee">
			<attributes>
				<attribute name="Name" type="textfield" mandatory="true" description="Name of the select. This is the name that is posted. Should not contain whitespaces, use underscore instead!" />
				<attribute name="InsertBlank" type="checkbox" description="When checked, a blank option is added to the top of he list" />
			</attributes>
		</element>
	</elements>
</form>
